package com.hundsun.cprs.yyt.service.classify.service;

import java.util.List;

import com.hundsun.cprs.yyt.service.classify.domain.Classify;
import com.hundsun.cprs.yyt.service.classify.domain.ClassifyTypeJson;

public interface ClassifyService {
	/**
	 * 根据code获取类目信息
	 * @param code
	 */
	public Classify selectClassifyByCode(String code);
	
	/**
	 * 根据id查找类目信息
	 * @param id
	 * @return
	 */
	public Classify   selectClassifyById(Integer id);
	
	/**
	 * 添加菜单目录
	 * @param classify
	 */
	public void createClassify(Classify classify);
	/**
	 * 查询下一个类目id
	 * @return
	 */
	public int selectClassifyIdOfNext();
	
	/**
	 * 查询一级类目下的二级目录
	 * 
	 * @param ParentId  一级分类id
	 * @param isDeleted 是否禁用  Y为是 ，N为不是
	 * @return
	 */
	public List<Classify> selectTwoClassifyByParentId(Integer ParentId,String isDeleted);
	
	/**
	 * 查询所有的一级类目
	 * @param isDeleted 是否禁用  Y为是 ，N为不是
	 * @return
	 */
	public List<Classify> selectOneClassify(String isDeleted);
	
	/**
	 * 启动或者禁止一级目录，同时会直接启动或者禁用二级目录
	 * @param classify
	 */
	public void updateOneClassifyAndTwoClassify(Classify  classify);
	/**
	 * 更新类目信息
	 * @param classify
	 */
	public  void  updateClassify(Classify classify);
	/**
	 * 获取类目树
	 * @param classify
	 */
	public List<ClassifyTypeJson> getClassifyTree();
	/**
	 * 删除类目（删除一级类目同时会删除二级类目）
	 * @param classify
	 */
	public void deleteClassifyById(Integer id);

	Classify selectClassifyByID(Long classifyId);
}
